package com.market.service.admin;

import com.market.bean.MarketRole;

import com.market.bean.bo.admin.AdminRoleCreateBo;

import com.market.bean.bo.AdminPermissionBo;

import com.market.bean.common.BasePageInfo;
import com.market.bean.common.CommonData;
import com.market.bean.vo.admin.AdminOptionsVo;
import com.market.bean.vo.admin.AdminPermissionVo;
import com.market.bean.vo.admin.AdminRoleCreateVo;

import java.util.List;

public interface AdminRoleService {
    CommonData<AdminOptionsVo> options();

    CommonData<MarketRole> list(BasePageInfo basePageInfo, String name);

    AdminRoleCreateVo create(AdminRoleCreateBo adminRoleCreateBo);

    void update(MarketRole marketRole);

    void delete(MarketRole marketRole);

    AdminPermissionVo listPermissions(Integer roleId);

    void updatePermissions(List<String> permissions, Integer roleId);

    void insertSystemPermissions(List<AdminPermissionBo> systemPermission);
}
